package com.bjsxt.sm.users.service.impl;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;
import com.bjsxt.sm.common.util.PageInfoUtil;
import com.bjsxt.sm.users.dao.IAUsersDao;
import com.bjsxt.sm.users.dao.IAcarsDao;
import com.bjsxt.sm.users.dao.IArenttableDao;
import com.bjsxt.sm.users.pojo.Acars;
import com.bjsxt.sm.users.pojo.Arenttable;
import com.bjsxt.sm.users.pojo.Ausers;
import com.bjsxt.sm.users.service.IUsersService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;

@Service("usersService")
public class IUsersServiceImpl implements IUsersService
{
	// 为Dao赋值
	@Resource
	private IAUsersDao usersDao;
	//为Dao赋值
	@Resource
	private IAcarsDao carsDao;
	@Resource
	private IArenttableDao arenttableDao;
	//插入一条数据
	@Override
	public JSONObject saveOneAusersService(Ausers ausers)
	{
		/**
		 * {
				//响应码
				"code" : "0",
				//提示信息
				"info" : "成功",
				//数据 
				"data" : {
					 //影响条数
					"effect" : "0",
					//id 
					"id" : ""
				}
			}
		 */
		JSONObject resultJSON=new JSONObject();
		/* dao保存用户 */
		int res = this.usersDao.save(ausers);
		if(res>0){
			JSONObject dataJSON = new JSONObject() ; 
			dataJSON.put("effect", res);
			dataJSON.put("id", ausers.getId());
			/* 存储的data也是一个json对象 */
			resultJSON.put("data", dataJSON);
			/* res:执行此SQL语句对数据库影响的条数;
			 * 成功 */
			resultJSON.put("code", "0");
			resultJSON.put("info", "成功");
			
			
		}else{
			/* 失败 */
			resultJSON.put("code", "1");
			resultJSON.put("info", "失败");
		}
		return resultJSON;
	}
	//添加一条汽车信息
	@Override
	public JSONObject saveOneAcarsService(Acars acars)
	{
		/**
		 * {
				//响应码
				"code" : "0",
				//提示信息
				"info" : "成功",
				//数据 
				"data" : {
					 //影响条数
					"effect" : "0",
					//id 
					"id" : ""
				}
			}
		 */
		JSONObject resultJSON=new JSONObject();
		/* dao保存用户 */
		int res = this.carsDao.save(acars);
		if(res>0){
			JSONObject dataJSON = new JSONObject() ; 
			dataJSON.put("effect", res);
			dataJSON.put("id", acars.getId());
			/* 存储的data也是一个json对象 */
			resultJSON.put("data", dataJSON);
			/* res:执行此SQL语句对数据库影响的条数;
			 * 成功 */
			resultJSON.put("code", "0");
			resultJSON.put("info", "成功");
			
			
		}else{
			/* 失败 */
			resultJSON.put("code", "1");
			resultJSON.put("info", "失败");
		}
		return resultJSON;
	}
	@Override
	public List<Acars> findCondListAcarsService(PageInfoUtil pageInfoUtil,
			Map<String, Object> condMap)
	{
		/*按照关键字模糊查询加%*/
		if(condMap.get("keyword")!=null)
		{
			condMap.put("keyword", "%"+condMap.get("keyword")+"%");
		}
		if(pageInfoUtil!=null)
		{
			/*分页*/
		Page page=PageHelper.startPage(pageInfoUtil.getCurrentPage(),pageInfoUtil.getPageSize());
		List<Acars> acars=this.carsDao.findCondList(condMap);
		/*设置一下总记录数*/
		pageInfoUtil.setTotalRecord(Integer.valueOf(page.getTotal()+""));
		return acars;
		}
		return this.carsDao.findCondList(condMap);
	}

	
	//更新一条记录
	@Override
	public JSONObject updateOneArenttableService(Arenttable arenttable)
	{
		JSONObject resultJSON=new JSONObject();
		int res = this.arenttableDao.update(arenttable);
		if(res>0)
		{
			JSONObject dataJSON=new JSONObject();
			dataJSON.put("effect", res);
			dataJSON.put("id", arenttable.getId());
			/* 存储的data也是一个json对象 */
			resultJSON.put("data", dataJSON);
			/* res:执行此SQL语句对数据库影响的条数;
			 * 成功 */
			resultJSON.put("code", "0");
			resultJSON.put("info", "成功");
		}else
		{
			/* 失败 */
			resultJSON.put("code", "1");
			resultJSON.put("info", "失败");
		}
		return resultJSON ; 
	}
	//更新一条数据  users
	@Override
	public JSONObject updateOneUsersService(Ausers users)
	{
		JSONObject resultJSON=new JSONObject();
		int res = this.usersDao.updateUsers(users);
		if(res>0){
			JSONObject dataJSON=new JSONObject();
			dataJSON.put("effect", res);
			dataJSON.put("id",users.getId());
			/* 存储的data也是一个json对象 */
			resultJSON.put("data", dataJSON);
			/* res:执行此SQL语句对数据库影响的条数;
			 * 成功 */
			resultJSON.put("code", "0");
			resultJSON.put("info", "info");
		}else{
			resultJSON.put("code", "1");
			resultJSON.put("info","成功");
		}
		return resultJSON;
	}
	//查询多条users记录
	@Override
	public List<Ausers> findListAusersService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap)
	{
		//	/* 为关键字模糊查询,加%号 */
		if(condMap.get("name") != null){
			condMap.put("name", "%"+condMap.get("name")+"%");
		}
		if(pageInfoUtil!=null)
		{
			//分页
			Page page = PageHelper.startPage(pageInfoUtil.getCurrentPage(),pageInfoUtil.getPageSize());
			List<Ausers> usersList = this.usersDao.findList(condMap);
			/* 设置一下总记录数 */
			pageInfoUtil.setTotalRecord(Integer.valueOf(page.getTotal() + ""));
			return usersList;
		}
		return this.usersDao.findList(condMap);
	}
}
